package com.rc.saas.tenant.mapper.recharge;

import com.rc.saas.tenant.common.base.BaseMapper;
import com.rc.saas.tenant.model.recharge.RechargeOrder;
import com.rc.saas.tenant.model.recharge.RechargeOrderExample;
import com.rc.saas.tenant.search.recharge.RechargeOrderSearch;
import com.rc.saas.tenant.vo.order.ChargeStatisticsResult;
import com.rc.saas.tenant.vo.recharge.ExportRechargeOrderVo;
import com.rc.saas.tenant.vo.recharge.RechargeOrderExportVo;
import com.rc.saas.tenant.vo.recharge.RechargeOrderResultVo;
import com.rc.saas.tenant.vo.recharge.RechargeOrderStatisticsVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface RechargeOrderMapper extends BaseMapper<Long, RechargeOrder, RechargeOrderExample> {
    List<RechargeOrderResultVo> searchByCondition(RechargeOrderSearch rechargeOrderSearch);

    List<ExportRechargeOrderVo> exportRechargeOrder(RechargeOrderSearch rechargeOrderSearch);

    /**
     * 农行支付交易详情列表
     * @param rechargeOrderSearch
     * @return
     */
     List<RechargeOrderResultVo> listPageRechargeOrderDetail(RechargeOrderSearch rechargeOrderSearch);

    /**
     * 农行支付交易统计
     * @param rechargeOrderSearch
     * @return
     */
     RechargeOrderStatisticsVo selectRechargeOrderStatistics(RechargeOrderSearch rechargeOrderSearch);

    List<RechargeOrderExportVo> rechargeOrderExport(RechargeOrderSearch rechargeOrderSearch);

    List<ChargeStatisticsResult> listRechargeStatistics(@Param("idList") List<Long> idList);

    RechargeOrder selectByRechargeOrderNum(@Param("orderNum") String orderNum);

}
